package com.deyuanyun.pic.integalz.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.deyuanyun.pic.business.controller.dto.PipeLineNewTaskVO;

import org.apache.ibatis.annotations.Param;

import com.deyuanyun.pic.integalz.controller.dto.IntegalzInspTaskQueryVO;
import com.deyuanyun.pic.integalz.enumeration.InspTableNameEnum;


/**
 * 完整性分析-内检测部分
 * 
 * @author ChenKui
 *
 */
public interface IntegalzInspTaskMapper {

    /**
     * 获取金属损失
     * 
     * @param featureType
     * @param integalzQuery
     * @param pipeLineInspTaskList
     * @return
     */
    List<Map<String,Object>> queryMetaLoss(@Param("featureType")String featureType
            ,@Param("integalzQuery")IntegalzInspTaskQueryVO integalzQuery
            ,@Param("pipeLineInspTaskList")List<PipeLineNewTaskVO> pipeLineInspTaskList);
    
    /**
     * 获取环焊缝异常
     * 
     * @param integalzQuery
     * @param pipeLineInspTaskList
     * @return
     */
    List<Map<String,Object>> queryGirthWeld(@Param("integalzQuery")IntegalzInspTaskQueryVO integalzQuery
            ,@Param("pipeLineInspTaskList")List<PipeLineNewTaskVO> pipeLineInspTaskList);
    
    /**
     * 获取环焊缝返修
     * @param integalzQuery
     * @return
     */
    List<Map<String,Object>> queryGwwRepairind(@Param("integalzQuery")IntegalzInspTaskQueryVO integalzQuery);
    
    /**
     * 查询内检测任务
     * 
     * @param pipeLineId
     * @param pipeLineNewTask
     * @return
     */
    List<Map<String,Object>> findInspTask(@Param("pipeLineId") String pipeLineId
            ,@Param("pipeLineInspTask")PipeLineNewTaskVO pipeLineNewTask
            ,@Param("detectorTypeIsnull") Boolean detectorTypeIsnull);
    
    /**
     * 查询内检测缺陷
     * 
     * @param inspTaskId
     * @return
     */
    List<Map<String,Object>> queryInspDefect(@Param("tableName") InspTableNameEnum tableName
            ,@Param("inspTaskId") String inspTaskId
            ,@Param("startMileage") BigDecimal startMileage
            ,@Param("endMileage") BigDecimal endMileage);
    
}
